package com.carAnalysisAdmin.system.mapper;

import java.util.List;
import com.carAnalysisAdmin.system.domain.SysParkSpot;
import com.carAnalysisAdmin.system.domain.SysParkFloor;

/**
 * 车位Mapper接口
 * 
 * @author ruoyi
 * @date 2024-04-14
 */
public interface SysParkSpotMapper 
{
    /**
     * 查询车位
     * 
     * @param id 车位主键
     * @return 车位
     */
    public SysParkSpot selectSysParkSpotById(Long id);

    /**
     * 查询车位列表
     * 
     * @param sysParkSpot 车位
     * @return 车位集合
     */
    public List<SysParkSpot> selectSysParkSpotList(SysParkSpot sysParkSpot);

    /**
     * 新增车位
     * 
     * @param sysParkSpot 车位
     * @return 结果
     */
    public int insertSysParkSpot(SysParkSpot sysParkSpot);

    /**
     * 修改车位
     * 
     * @param sysParkSpot 车位
     * @return 结果
     */
    public int updateSysParkSpot(SysParkSpot sysParkSpot);

    /**
     * 删除车位
     * 
     * @param id 车位主键
     * @return 结果
     */
    public int deleteSysParkSpotById(Long id);

    /**
     * 批量删除车位
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysParkSpotByIds(Long[] ids);

    /**
     * 批量删除楼层管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysParkFloorByIds(Long[] ids);
    
    /**
     * 批量新增楼层管理
     * 
     * @param sysParkFloorList 楼层管理列表
     * @return 结果
     */
    public int batchSysParkFloor(List<SysParkFloor> sysParkFloorList);
    

    /**
     * 通过车位主键删除楼层管理信息
     * 
     * @param id 车位ID
     * @return 结果
     */
    public int deleteSysParkFloorById(Long id);

    public int handleUsable(Long[] ids);

    public int handleDisabled(Long[] ids);

    SysParkSpot selectSysParkSpotByCode(String spotCode);

//    通过id查询code中-后面的最大值
    int queryMaxId(SysParkSpot sysParkSpot);

    List selectSysParkSpotByFloor(Long id);
}
